home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Interfaces / PInterfaces / AppleGuide.p < prev    next >
Encoding:
Text File  |  1994-11-11  |  9.1 KB  |  332 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        AppleGuide.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT AppleGuide;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __APPLEGUIDE__}
  27. {$SETC __APPLEGUIDE__ := 1}
  28.  
  29. {$I+}
  30. {$SETC AppleGuideIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __APPLEEVENTS__}
  35. {$I AppleEvents.p}
  36. {$ENDC}
  37. {    Errors.p                                                    }
  38. {        ConditionalMacros.p                                        }
  39. {    Types.p                                                        }
  40. {    Memory.p                                                    }
  41. {        MixedMode.p                                                }
  42. {    OSUtils.p                                                    }
  43. {    Events.p                                                    }
  44. {        Quickdraw.p                                                }
  45. {            QuickdrawText.p                                        }
  46. {    EPPC.p                                                        }
  47. {        PPCToolbox.p                                            }
  48. {            AppleTalk.p                                            }
  49. {        Processes.p                                                }
  50. {            Files.p                                                }
  51. {    Notification.p                                                }
  52.  
  53. {$PUSH}
  54. {$ALIGN MAC68K}
  55. {$LibExport+}
  56.     
  57. TYPE
  58.     AGRefNum = UInt32;
  59.  
  60.     AGCoachRefNum = UInt32;
  61.  
  62.     AGContextRefNum = UInt32;
  63.  
  64.     AGAppInfo = RECORD
  65.         eventId:                AEEventID;
  66.         refCon:                    LONGINT;
  67.         contextObj:                Ptr;                                    { private system field}
  68.     END;
  69.     AGAppInfoPtr = ^AGAppInfo;
  70.     AGAppInfoHdl = ^AGAppInfoPtr;
  71.  
  72.     CoachReplyProcPtr = ProcPtr;  { FUNCTION CoachReply(VAR pRect: Rect; name: Ptr; refCon: LONGINT): OSErr; }
  73.     ContextReplyProcPtr = ProcPtr;  { FUNCTION ContextReply(pInputData: Ptr; inputDataSize: Size; VAR ppOutputData: Ptr; VAR pOutputDataSize: Size; hAppInfo: AGAppInfoHdl): OSErr; }
  74.     CoachReplyUPP = UniversalProcPtr;
  75.     ContextReplyUPP = UniversalProcPtr;
  76.  
  77. CONST
  78.     uppCoachReplyProcInfo = $00000FE0; { FUNCTION (4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  79.     uppContextReplyProcInfo = $0000FFE0; { FUNCTION (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param): 2 byte result; }
  80.  
  81. FUNCTION NewCoachReplyProc(userRoutine: CoachReplyProcPtr): CoachReplyUPP;
  82.     {$IFC NOT GENERATINGCFM }
  83.     INLINE $2E9F;
  84.     {$ENDC}
  85.  
  86. FUNCTION NewContextReplyProc(userRoutine: ContextReplyProcPtr): ContextReplyUPP;
  87.     {$IFC NOT GENERATINGCFM }
  88.     INLINE $2E9F;
  89.     {$ENDC}
  90.  
  91. FUNCTION CallCoachReplyProc(VAR pRect: Rect; name: Ptr; refCon: LONGINT; userRoutine: CoachReplyUPP): OSErr;
  92.     {$IFC NOT GENERATINGCFM}
  93.     INLINE $205F, $4E90;
  94.     {$ENDC}
  95.  
  96. FUNCTION CallContextReplyProc(pInputData: Ptr; inputDataSize: Size; VAR ppOutputData: Ptr; VAR pOutputDataSize: Size; hAppInfo: AGAppInfoHdl; userRoutine: ContextReplyUPP): OSErr;
  97.     {$IFC NOT GENERATINGCFM}
  98.     INLINE $205F, $4E90;
  99.     {$ENDC}
  100.  
  101. CONST
  102.     gestaltAppleGuidePresent    = 31;
  103.     gestaltAppleGuideIsDebug    = 30;
  104.     kAGDefault                    = 0;
  105.     kAGFrontDatabase            = 1;
  106.     kAGNoMixin                    = 0+(-1);
  107.  
  108.     kAGViewFullHowdy            = 1;                            { Full-size Howdy}
  109.     kAGViewTopicAreas            = 2;                            { Full-size Topic Areas}
  110.     kAGViewIndex                = 3;                            { Full-size Index Terms}
  111.     kAGViewLookFor                = 4;                            { Full-size Look-For (Search)}
  112.     kAGViewSingleHowdy            = 5;                            { Single-list-size Howdy}
  113.     kAGViewSingleTopics            = 6;                            { Single-list-size Topics}
  114.  
  115.     kAGFileMain                    = 'poco';
  116.     kAGFileMixin                = 'mixn';
  117.  
  118. { To test against AGGetAvailableDBTypes}
  119.     kAGDBTypeBitAny                = $00000001;
  120.     kAGDBTypeBitHelp            = $00000002;
  121.     kAGDBTypeBitTutorial        = $00000004;
  122.     kAGDBTypeBitShortcuts        = $00000008;
  123.     kAGDBTypeBitAbout            = $00000010;
  124.     kAGDBTypeBitOther            = $00000080;
  125.  
  126.     
  127. TYPE
  128.     AGStatus = UInt16;
  129.  
  130. { Returned by AGGetStatus}
  131.  
  132. CONST
  133.     kAGIsNotRunning                = 0;
  134.     kAGIsSleeping                = 1;
  135.     kAGIsActive                    = 2;
  136.  
  137.     
  138. TYPE
  139.     AGWindowKind = UInt16;
  140.  
  141. { Returned by AGGetFrontWindowKind}
  142.  
  143. CONST
  144.     kAGNoWindow                    = 0;
  145.     kAGAccessWindow                = 1;
  146.     kAGPresentationWindow        = 2;
  147.  
  148. { Error Codes}
  149. { Not an enum, because other OSErrs are valid.}
  150.     
  151. TYPE
  152.     AGErr = SInt16;
  153.  
  154. { Apple Guide error codes}
  155.  
  156. CONST
  157. { -------------------- Apple event reply codes}
  158.     kAGErrUnknownEvent            = -2900;
  159.     kAGErrCantStartup            = -2901;
  160.     kAGErrNoAccWin                = -2902;
  161.     kAGErrNoPreWin                = -2903;
  162.     kAGErrNoSequence            = -2904;
  163.     kAGErrNotOopsSequence        = -2905;
  164.     kAGErrReserved06            = -2906;
  165.     kAGErrNoPanel                = -2907;
  166.     kAGErrContentNotFound        = -2908;
  167.     kAGErrMissingString            = -2909;
  168.     kAGErrInfoNotAvail            = -2910;
  169.     kAGErrEventNotAvailable        = -2911;
  170.     kAGErrCannotMakeCoach        = -2912;
  171.     kAGErrSessionIDsNotMatch    = -2913;
  172.     kAGErrMissingDatabaseSpec    = -2914;
  173. { -------------------- Coach's Chalkboard reply codes}
  174.     kAGErrItemNotFound            = -2925;
  175.     kAGErrBalloonResourceNotFound = -2926;
  176.     kAGErrChalkResourceNotFound    = -2927;
  177.     kAGErrChdvResourceNotFound    = -2928;
  178.     kAGErrAlreadyShowing        = -2929;
  179.     kAGErrBalloonResourceSkip    = -2930;
  180.     kAGErrItemNotVisible        = -2931;
  181.     kAGErrReserved32            = -2932;
  182.     kAGErrNotFrontProcess        = -2933;
  183.     kAGErrMacroResourceNotFound    = -2934;
  184. { -------------------- API reply codes}
  185.     kAGErrAppleGuideNotAvailable = -2951;
  186.     kAGErrCannotInitCoach        = -2952;
  187.     kAGErrCannotInitContext        = -2953;
  188.     kAGErrCannotOpenAliasFile    = -2954;
  189.     kAGErrNoAliasResource        = -2955;
  190.     kAGErrDatabaseNotAvailable    = -2956;
  191.     kAGErrDatabaseNotOpen        = -2957;
  192.     kAGErrMissingAppInfoHdl        = -2958;
  193.     kAGErrMissingContextObject    = -2959;
  194.     kAGErrInvalidRefNum            = -2960;
  195.     kAGErrDatabaseOpen            = -2961;
  196.     kAGErrInsufficientMemory    = -2962;
  197.  
  198. { Events}
  199. { Not an enum because we want to make assignments.}
  200.     
  201. TYPE
  202.     AGEvent = UInt32;
  203.  
  204. { Handy events for AGGeneral.}
  205.  
  206. CONST
  207. { Panel actions (Require a presentation window).}
  208.     kAGEventDoCoach                = 'doco';
  209.     kAGEventDoHuh                = 'dhuh';
  210.     kAGEventGoNext                = 'gonp';
  211.     kAGEventGoPrev                = 'gopp';
  212.     kAGEventHidePanel            = 'pahi';
  213.     kAGEventReturnBack            = 'gobk';
  214.     kAGEventShowPanel            = 'pash';
  215.     kAGEventTogglePanel            = 'patg';
  216.  
  217. { Functions}
  218. { AGClose}
  219. { Close the database associated with the AGRefNum.}
  220.  
  221. FUNCTION AGClose(VAR refNum: AGRefNum): AGErr;
  222.     {$IFC NOT GENERATINGCFM}
  223.     INLINE $7011, $AA6E;
  224.     {$ENDC}
  225. { AGGeneral}
  226. { Cause various events to happen.}
  227. FUNCTION AGGeneral(refNum: AGRefNum; theEvent: AGEvent): AGErr;
  228.     {$IFC NOT GENERATINGCFM}
  229.     INLINE $700D, $AA6E;
  230.     {$ENDC}
  231. { AGGetAvailableDBTypes}
  232. { Return the database types available for this application.}
  233. FUNCTION AGGetAvailableDBTypes: UInt32;
  234.     {$IFC NOT GENERATINGCFM}
  235.     INLINE $7008, $AA6E;
  236.     {$ENDC}
  237. { AGGetFrontWindowKind}
  238. { Return the kind of the front window.}
  239. FUNCTION AGGetFrontWindowKind(refNum: AGRefNum): AGWindowKind;
  240.     {$IFC NOT GENERATINGCFM}
  241.     INLINE $700C, $AA6E;
  242.     {$ENDC}
  243. { AGGetFSSpec}
  244. { Return the FSSpec for the AGRefNum.}
  245. FUNCTION AGGetFSSpec(refNum: AGRefNum; VAR fileSpec: FSSpec): AGErr;
  246.     {$IFC NOT GENERATINGCFM}
  247.     INLINE $700F, $AA6E;
  248.     {$ENDC}
  249. { AGGetStatus}
  250. { Return the status of Apple Guide.}
  251. FUNCTION AGGetStatus: AGStatus;
  252.     {$IFC NOT GENERATINGCFM}
  253.     INLINE $7009, $AA6E;
  254.     {$ENDC}
  255. { AGInstallCoachHandler}
  256. { Install a Coach object location query handler.}
  257. FUNCTION AGInstallCoachHandler(coachReplyProc: CoachReplyUPP; refCon: LONGINT; VAR resultRefNum: AGCoachRefNum): AGErr;
  258.     {$IFC NOT GENERATINGCFM}
  259.     INLINE $7012, $AA6E;
  260.     {$ENDC}
  261. { AGInstallContextHandler}
  262. { Install a context check query handler.}
  263. FUNCTION AGInstallContextHandler(contextReplyProc: ContextReplyUPP; eventID: AEEventID; refCon: LONGINT; VAR resultRefNum: AGContextRefNum): AGErr;
  264.     {$IFC NOT GENERATINGCFM}
  265.     INLINE $7013, $AA6E;
  266.     {$ENDC}
  267. { AGIsDatabaseOpen}
  268. { Return true if the database associated with the AGRefNum is open.}
  269. FUNCTION AGIsDatabaseOpen(refNum: AGRefNum): BOOLEAN;
  270.     {$IFC NOT GENERATINGCFM}
  271.     INLINE $7006, $AA6E;
  272.     {$ENDC}
  273. { AGOpen}
  274. { Open a guide database.}
  275. FUNCTION AGOpen(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; VAR resultRefNum: AGRefNum): AGErr;
  276.     {$IFC NOT GENERATINGCFM}
  277.     INLINE $7001, $AA6E;
  278.     {$ENDC}
  279. { AGOpenWithSearch}
  280. { Open a guide database and preset a search string.}
  281. FUNCTION AGOpenWithSearch(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; searchString: ConstStr255Param; VAR resultRefNum: AGRefNum): AGErr;
  282.     {$IFC NOT GENERATINGCFM}
  283.     INLINE $7002, $AA6E;
  284.     {$ENDC}
  285. { AGOpenWithSequence}
  286. { Open a guide database and display a presentation window sequence.}
  287. FUNCTION AGOpenWithSequence(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; sequenceID: INTEGER; VAR resultRefNum: AGRefNum): AGErr;
  288.     {$IFC NOT GENERATINGCFM}
  289.     INLINE $7004, $AA6E;
  290.     {$ENDC}
  291. { AGOpenWithView}
  292. { Open a guide database and override the default view.}
  293. FUNCTION AGOpenWithView(VAR fileSpec: FSSpec; flags: UInt32; mixinControl: Handle; viewNum: INTEGER; VAR resultRefNum: AGRefNum): AGErr;
  294.     {$IFC NOT GENERATINGCFM}
  295.     INLINE $7005, $AA6E;
  296.     {$ENDC}
  297. { AGQuit}
  298. { Make Apple Guide quit.}
  299. FUNCTION AGQuit: AGErr;
  300.     {$IFC NOT GENERATINGCFM}
  301.     INLINE $7010, $AA6E;
  302.     {$ENDC}
  303. { AGRemoveCoachHandler}
  304. { Remove the Coach object location query handler.}
  305. FUNCTION AGRemoveCoachHandler(VAR resultRefNum: AGCoachRefNum): AGErr;
  306.     {$IFC NOT GENERATINGCFM}
  307.     INLINE $7014, $AA6E;
  308.     {$ENDC}
  309. { AGRemoveContextHandler}
  310. { Remove the context check query handler.}
  311. FUNCTION AGRemoveContextHandler(VAR resultRefNum: AGContextRefNum): AGErr;
  312.     {$IFC NOT GENERATINGCFM}
  313.     INLINE $7015, $AA6E;
  314.     {$ENDC}
  315. { AGStart}
  316. { Start up Apple Guide in the background.}
  317. FUNCTION AGStart: AGErr;
  318.     {$IFC NOT GENERATINGCFM}
  319.     INLINE $700A, $AA6E;
  320.     {$ENDC}
  321.  
  322. {$ALIGN RESET}
  323. {$POP}
  324.  
  325. {$SETC UsingIncludes := AppleGuideIncludes}
  326.  
  327. {$ENDC} {__APPLEGUIDE__}
  328.  
  329. {$IFC NOT UsingIncludes}
  330.  END.
  331. {$ENDC}
  332.